package com.service.business.member.support;

import com.service.business.base.service.ConfigService;
import com.service.business.member.service.MemberGradeConfigService;
import com.service.dao.po.MemberCache;
import lombok.Getter;

/**
 * <dl>
 * <dt>back-end</dt>
 * <dd>Description:</dd>
 * <dd>Copyright: Copyright (C) 2015</dd>
 * <dd>Company: </dd>
 * <dd>CreateDate: 2019年11月19日</dd>
 * </dl>
 *
 * @author
 */
public enum WithdrawLimit {

    USDT(1, "USDT") {
        @Override
        public boolean validWithdraw(MemberCache memberCache, MemberGradeConfigService gradeConfigService, ConfigService configService) {




            return false;
        }
    },
    BTC(2, "BTC") {
        @Override
        public boolean validWithdraw(MemberCache memberCache, MemberGradeConfigService gradeConfigService, ConfigService configService) {
            return false;
        }
    },
    USDF(3, "USDF") {
        @Override
        public boolean validWithdraw(MemberCache memberCache, MemberGradeConfigService gradeConfigService, ConfigService configService) {
            return false;
        }
    },
    ETH(4, "ETH") {
        @Override
        public boolean validWithdraw(MemberCache memberCache, MemberGradeConfigService gradeConfigService, ConfigService configService) {
            return false;
        }
    },
    EXDF(5, "EXDF") {
        @Override
        public boolean validWithdraw(MemberCache memberCache, MemberGradeConfigService gradeConfigService, ConfigService configService) {
            return false;
        }
    },
    FIL(9,"FIL"){
        @Override
        public boolean validWithdraw(MemberCache memberCache, MemberGradeConfigService gradeConfigService, ConfigService configService) {
            return false;
        }
    };

    @Getter
    private Integer value;

    @Getter
    private String desc;

    WithdrawLimit(Integer value, String desc) {
        this.value = value;
        this.desc = desc;
    }

    WithdrawLimit() {

    }

    public abstract boolean validWithdraw(MemberCache memberCache, MemberGradeConfigService gradeConfigService, ConfigService configService);


}
